home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / CIncludes / Slots.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-06  |  15.7 KB  |  548 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Slots.h
  3.  
  4.      Contains:    Slot Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __SLOTS__
  21. #define __SLOTS__
  22.  
  23.  
  24. #ifndef __TYPES__
  25. #include <Types.h>
  26. #endif
  27. /*    #include <ConditionalMacros.h>                                */
  28.  
  29. #ifndef __EVENTS__
  30. #include <Events.h>
  31. #endif
  32. /*    #include <Quickdraw.h>                                        */
  33. /*        #include <MixedMode.h>                                    */
  34. /*        #include <QuickdrawText.h>                                */
  35. /*    #include <OSUtils.h>                                        */
  36. /*        #include <Memory.h>                                        */
  37.  
  38. #ifndef __OSUTILS__
  39. #include <OSUtils.h>
  40. #endif
  41.  
  42. #ifndef __FILES__
  43. #include <Files.h>
  44. #endif
  45. /*    #include <Finder.h>                                            */
  46.  
  47. #ifdef __cplusplus
  48. extern "C" {
  49. #endif
  50.  
  51. #if PRAGMA_ALIGN_SUPPORTED
  52. #pragma options align=mac68k
  53. #endif
  54.  
  55. #if PRAGMA_IMPORT_SUPPORTED
  56. #pragma import on
  57. #endif
  58.  
  59.  
  60. enum {
  61.     fCardIsChanged                = 1,                            /*Card is Changed field in StatusFlags field of sInfoArray*/
  62.     fCkForSame                    = 0,                            /*For SearchSRT. Flag to check for SAME sResource in the table. */
  63.     fCkForNext                    = 1,                            /*For SearchSRT. Flag to check for NEXT sResource in the table. */
  64.     fWarmStart                    = 2                                /*If this bit is set then warm start else cold start.*/
  65. };
  66.  
  67. enum {
  68.     stateNil                    = 0,                            /*State*/
  69.     stateSDMInit                = 1,                            /*:Slot declaration manager Init*/
  70.     statePRAMInit                = 2,                            /*:sPRAM record init*/
  71.     statePInit                    = 3,                            /*:Primary init*/
  72.     stateSInit                    = 4,                            /*:Secondary init*/
  73. /* flags for spParamData */
  74.     fall                        = 0,                            /* bit 0: set=search enabled/disabled sRsrc's */
  75.     foneslot                    = 1,                            /*    1: set=search sRsrc's in given slot only */
  76.     fnext                        = 2,                            /*    2: set=search for next sRsrc */
  77. /* Misc masks */
  78.     catMask                        = 0x08,                            /* sets spCategory field of spTBMask (bit 3) */
  79.     cTypeMask                    = 0x04,                            /* sets spCType    field of spTBMask (bit 2) */
  80.     drvrSWMask                    = 0x02,                            /* sets spDrvrSW   field of spTBMask (bit 1) */
  81.     drvrHWMask                    = 0x01                            /* sets spDrvrHW      field of spTBMask (bit 0) */
  82. };
  83.  
  84. /*
  85.         SlotIntServiceProcPtr uses register based parameters on the 68k and cannot
  86.         be written in or called from a high-level language without the help of
  87.         mixed mode or assembly glue.
  88.  
  89.             typedef pascal short (*SlotIntServiceProcPtr)(long sqParameter);
  90.  
  91.         In:
  92.          => sqParameter     A1.L
  93.         Out:
  94.          <= return value    D0.W
  95. */
  96.  
  97. #if GENERATINGCFM
  98. typedef UniversalProcPtr SlotIntServiceUPP;
  99. #else
  100. typedef Register68kProcPtr SlotIntServiceUPP;
  101. #endif
  102.  
  103. enum {
  104.     uppSlotIntServiceProcInfo = kRegisterBased
  105.          | RESULT_SIZE(SIZE_CODE(sizeof(short)))
  106.          | REGISTER_RESULT_LOCATION(kRegisterD0)
  107.          | REGISTER_ROUTINE_PARAMETER(1, kRegisterA1, SIZE_CODE(sizeof(long)))
  108. };
  109.  
  110. #if GENERATINGCFM
  111. #define NewSlotIntServiceProc(userRoutine)        \
  112.         (SlotIntServiceUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture())
  113. #else
  114. #define NewSlotIntServiceProc(userRoutine)        \
  115.         ((SlotIntServiceUPP) (userRoutine))
  116. #endif
  117.  
  118. #if GENERATINGCFM
  119. #define CallSlotIntServiceProc(userRoutine, sqParameter)        \
  120.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppSlotIntServiceProcInfo, (sqParameter))
  121. #else
  122. /* (*SlotIntServiceProcPtr) cannot be called from a high-level language without the Mixed Mode Manager */
  123. #endif
  124.  
  125. struct SlotIntQElement {
  126.     Ptr                                sqLink;                        /*ptr to next element*/
  127.     short                            sqType;                        /*queue type ID for validity*/
  128.     short                            sqPrio;                        /*priority*/
  129.     SlotIntServiceUPP                sqAddr;                        /*interrupt service routine*/
  130.     long                            sqParm;                        /*optional A1 parameter*/
  131. };
  132. typedef struct SlotIntQElement SlotIntQElement;
  133.  
  134. typedef SlotIntQElement *SQElemPtr;
  135.  
  136. struct SpBlock {
  137.     long                            spResult;                    /*FUNCTION Result*/
  138.     Ptr                                spsPointer;                    /*structure pointer*/
  139.     long                            spSize;                        /*size of structure*/
  140.     long                            spOffsetData;                /*offset/data field used by sOffsetData*/
  141.     Ptr                                spIOFileName;                /*ptr to IOFile name for sDisDrvrName*/
  142.     Ptr                                spsExecPBlk;                /*pointer to sExec parameter block.*/
  143.     long                            spParamData;                /*misc parameter data (formerly spStackPtr).*/
  144.     long                            spMisc;                        /*misc field for SDM.*/
  145.     long                            spReserved;                    /*reserved for future expansion*/
  146.     short                            spIOReserved;                /*Reserved field of Slot Resource Table*/
  147.     short                            spRefNum;                    /*RefNum*/
  148.     short                            spCategory;                    /*sType: Category*/
  149.     short                            spCType;                    /*Type*/
  150.     short                            spDrvrSW;                    /*DrvrSW*/
  151.     short                            spDrvrHW;                    /*DrvrHW*/
  152.     SInt8                            spTBMask;                    /*type bit mask bits 0..3 mask words 0..3*/
  153.     SInt8                            spSlot;                        /*slot number*/
  154.     SInt8                            spID;                        /*structure ID*/
  155.     SInt8                            spExtDev;                    /*ID of the external device*/
  156.     SInt8                            spHwDev;                    /*Id of the hardware device.*/
  157.     SInt8                            spByteLanes;                /*bytelanes from card ROM format block*/
  158.     SInt8                            spFlags;                    /*standard flags*/
  159.     SInt8                            spKey;                        /*Internal use only*/
  160. };
  161. typedef struct SpBlock SpBlock;
  162.  
  163. typedef SpBlock *SpBlockPtr;
  164.  
  165. struct SInfoRecord {
  166.     Ptr                                siDirPtr;                    /*Pointer to directory*/
  167.     short                            siInitStatusA;                /*initialization E*/
  168.     short                            siInitStatusV;                /*status returned by vendor init code*/
  169.     SInt8                            siState;                    /*initialization state*/
  170.     SInt8                            siCPUByteLanes;                /*0=[d0..d7] 1=[d8..d15]*/
  171.     SInt8                            siTopOfROM;                    /*Top of ROM= $FssFFFFx: x is TopOfROM*/
  172.     SInt8                            siStatusFlags;                /*bit 0 - card is changed*/
  173.     short                            siTOConst;                    /*Time Out C for BusErr*/
  174.     SInt8                            siReserved[2];                /*reserved*/
  175.     Ptr                                siROMAddr;                    /* addr of top of ROM */
  176.     SInt8                            siSlot;                        /* slot number */
  177.     SInt8                            siPadding[3];                /* reserved */
  178. };
  179. typedef struct SInfoRecord SInfoRecord;
  180.  
  181. typedef SInfoRecord *SInfoRecPtr;
  182.  
  183. struct SDMRecord {
  184.     ProcPtr                            sdBEVSave;                    /*Save old BusErr vector*/
  185.     ProcPtr                            sdBusErrProc;                /*Go here to determine if it is a BusErr*/
  186.     ProcPtr                            sdErrorEntry;                /*Go here if BusErrProc finds real BusErr*/
  187.     long                            sdReserved;                    /*Reserved*/
  188. };
  189. typedef struct SDMRecord SDMRecord;
  190.  
  191. struct FHeaderRec {
  192.     long                            fhDirOffset;                /*offset to directory*/
  193.     long                            fhLength;                    /*length of ROM*/
  194.     long                            fhCRC;                        /*CRC*/
  195.     SInt8                            fhROMRev;                    /*revision of ROM*/
  196.     SInt8                            fhFormat;                    /*format - 2*/
  197.     long                            fhTstPat;                    /*test pattern*/
  198.     SInt8                            fhReserved;                    /*reserved*/
  199.     SInt8                            fhByteLanes;                /*ByteLanes*/
  200. };
  201. typedef struct FHeaderRec FHeaderRec;
  202.  
  203. typedef FHeaderRec *FHeaderRecPtr;
  204.  
  205. /* */
  206. /*     Extended Format header block  -  extended declaration ROM format header for super sRsrc directories.    <H2><SM0>*/
  207. /* */
  208. struct XFHeaderRec {
  209.     long                            fhXSuperInit;                /*Offset to SuperInit SExecBlock    <fhFormat,offset>*/
  210.     long                            fhXSDirOffset;                /*Offset to SuperDirectory            <$FE,offset>*/
  211.     long                            fhXEOL;                        /*Psuedo end-of-list                <$FF,nil>*/
  212.     long                            fhXSTstPat;                    /*TestPattern*/
  213.     long                            fhXDirOffset;                /*Offset to (minimal) directory*/
  214.     long                            fhXLength;                    /*Length of ROM*/
  215.     long                            fhXCRC;                        /*CRC*/
  216.     SInt8                            fhXROMRev;                    /*Revision of ROM*/
  217.     SInt8                            fhXFormat;                    /*Format-2*/
  218.     long                            fhXTstPat;                    /*TestPattern*/
  219.     SInt8                            fhXReserved;                /*Reserved*/
  220.     SInt8                            fhXByteLanes;                /*ByteLanes*/
  221. };
  222. typedef struct XFHeaderRec XFHeaderRec;
  223.  
  224. typedef XFHeaderRec *XFHeaderRecPtr;
  225.  
  226. struct SEBlock {
  227.     UInt8                            seSlot;                        /*Slot number.*/
  228.     UInt8                            sesRsrcId;                    /*sResource Id.*/
  229.     short                            seStatus;                    /*Status of code executed by sExec.*/
  230.     UInt8                            seFlags;                    /*Flags*/
  231.     UInt8                            seFiller0;                    /*Filler, must be SignedByte to align on odd boundry*/
  232.     UInt8                            seFiller1;                    /*Filler*/
  233.     UInt8                            seFiller2;                    /*Filler*/
  234.     long                            seResult;                    /*Result of sLoad.*/
  235.     long                            seIOFileName;                /*Pointer to IOFile name.*/
  236.     UInt8                            seDevice;                    /*Which device to read from.*/
  237.     UInt8                            sePartition;                /*The partition.*/
  238.     UInt8                            seOSType;                    /*Type of OS.*/
  239.     UInt8                            seReserved;                    /*Reserved field.*/
  240.     UInt8                            seRefNum;                    /*RefNum of the driver.*/
  241.     UInt8                            seNumDevices;                /* Number of devices to load.*/
  242.     UInt8                            seBootState;                /*State of StartBoot code.*/
  243.     SInt8                            filler;
  244. };
  245. typedef struct SEBlock SEBlock;
  246.  
  247. /*  Principle  */
  248.  
  249. #if !GENERATINGCFM
  250. #pragma parameter __D0 SReadByte(__A0)
  251. #endif
  252. extern pascal OSErr SReadByte(SpBlockPtr spBlkPtr)
  253.  TWOWORDINLINE(0x7000, 0xA06E);
  254.  
  255. #if !GENERATINGCFM
  256. #pragma parameter __D0 SReadWord(__A0)
  257. #endif
  258. extern pascal OSErr SReadWord(SpBlockPtr spBlkPtr)
  259.  TWOWORDINLINE(0x7001, 0xA06E);
  260.  
  261. #if !GENERATINGCFM
  262. #pragma parameter __D0 SReadLong(__A0)
  263. #endif
  264. extern pascal OSErr SReadLong(SpBlockPtr spBlkPtr)
  265.  TWOWORDINLINE(0x7002, 0xA06E);
  266.  
  267. #if !GENERATINGCFM
  268. #pragma parameter __D0 SGetCString(__A0)
  269. #endif
  270. extern pascal OSErr SGetCString(SpBlockPtr spBlkPtr)
  271.  TWOWORDINLINE(0x7003, 0xA06E);
  272.  
  273. #if !GENERATINGCFM
  274. #pragma parameter __D0 SGetBlock(__A0)
  275. #endif
  276. extern pascal OSErr SGetBlock(SpBlockPtr spBlkPtr)
  277.  TWOWORDINLINE(0x7005, 0xA06E);
  278.  
  279. #if !GENERATINGCFM
  280. #pragma parameter __D0 SFindStruct(__A0)
  281. #endif
  282. extern pascal OSErr SFindStruct(SpBlockPtr spBlkPtr)
  283.  TWOWORDINLINE(0x7006, 0xA06E);
  284.  
  285. #if !GENERATINGCFM
  286. #pragma parameter __D0 SReadStruct(__A0)
  287. #endif
  288. extern pascal OSErr SReadStruct(SpBlockPtr spBlkPtr)
  289.  TWOWORDINLINE(0x7007, 0xA06E);
  290. /*  Special  */
  291.  
  292. #if !GENERATINGCFM
  293. #pragma parameter __D0 SReadInfo(__A0)
  294. #endif
  295. extern pascal OSErr SReadInfo(SpBlockPtr spBlkPtr)
  296.  TWOWORDINLINE(0x7010, 0xA06E);
  297.  
  298. #if !GENERATINGCFM
  299. #pragma parameter __D0 SReadPRAMRec(__A0)
  300. #endif
  301. extern pascal OSErr SReadPRAMRec(SpBlockPtr spBlkPtr)
  302.  TWOWORDINLINE(0x7011, 0xA06E);
  303.  
  304. #if !GENERATINGCFM
  305. #pragma parameter __D0 SPutPRAMRec(__A0)
  306. #endif
  307. extern pascal OSErr SPutPRAMRec(SpBlockPtr spBlkPtr)
  308.  TWOWORDINLINE(0x7012, 0xA06E);
  309.  
  310. #if !GENERATINGCFM
  311. #pragma parameter __D0 SReadFHeader(__A0)
  312. #endif
  313. extern pascal OSErr SReadFHeader(SpBlockPtr spBlkPtr)
  314.  TWOWORDINLINE(0x7013, 0xA06E);
  315.  
  316. #if !GENERATINGCFM
  317. #pragma parameter __D0 SNextSRsrc(__A0)
  318. #endif
  319. extern pascal OSErr SNextSRsrc(SpBlockPtr spBlkPtr)
  320.  TWOWORDINLINE(0x7014, 0xA06E);
  321.  
  322. #if !GENERATINGCFM
  323. #pragma parameter __D0 SNextTypeSRsrc(__A0)
  324. #endif
  325. extern pascal OSErr SNextTypeSRsrc(SpBlockPtr spBlkPtr)
  326.  TWOWORDINLINE(0x7015, 0xA06E);
  327.  
  328. #if !GENERATINGCFM
  329. #pragma parameter __D0 SRsrcInfo(__A0)
  330. #endif
  331. extern pascal OSErr SRsrcInfo(SpBlockPtr spBlkPtr)
  332.  TWOWORDINLINE(0x7016, 0xA06E);
  333.  
  334. #if !GENERATINGCFM
  335. #pragma parameter __D0 SDisposePtr(__A0)
  336. #endif
  337. extern pascal OSErr SDisposePtr(SpBlockPtr spBlkPtr)
  338.  TWOWORDINLINE(0x7017, 0xA06E);
  339.  
  340. #if !GENERATINGCFM
  341. #pragma parameter __D0 SCkCardStat(__A0)
  342. #endif
  343. extern pascal OSErr SCkCardStat(SpBlockPtr spBlkPtr)
  344.  TWOWORDINLINE(0x7018, 0xA06E);
  345.  
  346. #if !GENERATINGCFM
  347. #pragma parameter __D0 SReadDrvrName(__A0)
  348. #endif
  349. extern pascal OSErr SReadDrvrName(SpBlockPtr spBlkPtr)
  350.  TWOWORDINLINE(0x7019, 0xA06E);
  351.  
  352. #if !GENERATINGCFM
  353. #pragma parameter __D0 SFindSRTRec(__A0)
  354. #endif
  355. extern pascal OSErr SFindSRTRec(SpBlockPtr spBlkPtr)
  356.  TWOWORDINLINE(0x701A, 0xA06E);
  357.  
  358. #if !GENERATINGCFM
  359. #pragma parameter __D0 SFindDevBase(__A0)
  360. #endif
  361. extern pascal OSErr SFindDevBase(SpBlockPtr spBlkPtr)
  362.  TWOWORDINLINE(0x701B, 0xA06E);
  363.  
  364. #if !GENERATINGCFM
  365. #pragma parameter __D0 SFindBigDevBase(__A0)
  366. #endif
  367. extern pascal OSErr SFindBigDevBase(SpBlockPtr spBlkPtr)
  368.  TWOWORDINLINE(0x701C, 0xA06E);
  369. /*  Advanced  */
  370.  
  371. #if !GENERATINGCFM
  372. #pragma parameter __D0 InitSDeclMgr(__A0)
  373. #endif
  374. extern pascal OSErr InitSDeclMgr(SpBlockPtr spBlkPtr)
  375.  TWOWORDINLINE(0x7020, 0xA06E);
  376.  
  377. #if !GENERATINGCFM
  378. #pragma parameter __D0 SPrimaryInit(__A0)
  379. #endif
  380. extern pascal OSErr SPrimaryInit(SpBlockPtr spBlkPtr)
  381.  TWOWORDINLINE(0x7021, 0xA06E);
  382.  
  383. #if !GENERATINGCFM
  384. #pragma parameter __D0 SCardChanged(__A0)
  385. #endif
  386. extern pascal OSErr SCardChanged(SpBlockPtr spBlkPtr)
  387.  TWOWORDINLINE(0x7022, 0xA06E);
  388.  
  389. #if !GENERATINGCFM
  390. #pragma parameter __D0 SExec(__A0)
  391. #endif
  392. extern pascal OSErr SExec(SpBlockPtr spBlkPtr)
  393.  TWOWORDINLINE(0x7023, 0xA06E);
  394.  
  395. #if !GENERATINGCFM
  396. #pragma parameter __D0 SOffsetData(__A0)
  397. #endif
  398. extern pascal OSErr SOffsetData(SpBlockPtr spBlkPtr)
  399.  TWOWORDINLINE(0x7024, 0xA06E);
  400.  
  401. #if !GENERATINGCFM
  402. #pragma parameter __D0 SInitPRAMRecs(__A0)
  403. #endif
  404. extern pascal OSErr SInitPRAMRecs(SpBlockPtr spBlkPtr)
  405.  TWOWORDINLINE(0x7025, 0xA06E);
  406.  
  407. #if !GENERATINGCFM
  408. #pragma parameter __D0 SReadPBSize(__A0)
  409. #endif
  410. extern pascal OSErr SReadPBSize(SpBlockPtr spBlkPtr)
  411.  TWOWORDINLINE(0x7026, 0xA06E);
  412.  
  413. #if !GENERATINGCFM
  414. #pragma parameter __D0 SCalcStep(__A0)
  415. #endif
  416. extern pascal OSErr SCalcStep(SpBlockPtr spBlkPtr)
  417.  TWOWORDINLINE(0x7028, 0xA06E);
  418.  
  419. #if !GENERATINGCFM
  420. #pragma parameter __D0 SInitSRsrcTable(__A0)
  421. #endif
  422. extern pascal OSErr SInitSRsrcTable(SpBlockPtr spBlkPtr)
  423.  TWOWORDINLINE(0x7029, 0xA06E);
  424.  
  425. #if !GENERATINGCFM
  426. #pragma parameter __D0 SSearchSRT(__A0)
  427. #endif
  428. extern pascal OSErr SSearchSRT(SpBlockPtr spBlkPtr)
  429.  TWOWORDINLINE(0x702A, 0xA06E);
  430.  
  431. #if !GENERATINGCFM
  432. #pragma parameter __D0 SUpdateSRT(__A0)
  433. #endif
  434. extern pascal OSErr SUpdateSRT(SpBlockPtr spBlkPtr)
  435.  TWOWORDINLINE(0x702B, 0xA06E);
  436.  
  437. #if !GENERATINGCFM
  438. #pragma parameter __D0 SCalcSPointer(__A0)
  439. #endif
  440. extern pascal OSErr SCalcSPointer(SpBlockPtr spBlkPtr)
  441.  TWOWORDINLINE(0x702C, 0xA06E);
  442.  
  443. #if !GENERATINGCFM
  444. #pragma parameter __D0 SGetDriver(__A0)
  445. #endif
  446. extern pascal OSErr SGetDriver(SpBlockPtr spBlkPtr)
  447.  TWOWORDINLINE(0x702D, 0xA06E);
  448.  
  449. #if !GENERATINGCFM
  450. #pragma parameter __D0 SPtrToSlot(__A0)
  451. #endif
  452. extern pascal OSErr SPtrToSlot(SpBlockPtr spBlkPtr)
  453.  TWOWORDINLINE(0x702E, 0xA06E);
  454.  
  455. #if !GENERATINGCFM
  456. #pragma parameter __D0 SFindSInfoRecPtr(__A0)
  457. #endif
  458. extern pascal OSErr SFindSInfoRecPtr(SpBlockPtr spBlkPtr)
  459.  TWOWORDINLINE(0x702F, 0xA06E);
  460.  
  461. #if !GENERATINGCFM
  462. #pragma parameter __D0 SFindSRsrcPtr(__A0)
  463. #endif
  464. extern pascal OSErr SFindSRsrcPtr(SpBlockPtr spBlkPtr)
  465.  TWOWORDINLINE(0x7030, 0xA06E);
  466.  
  467. #if !GENERATINGCFM
  468. #pragma parameter __D0 SDeleteSRTRec(__A0)
  469. #endif
  470. extern pascal OSErr SDeleteSRTRec(SpBlockPtr spBlkPtr)
  471.  TWOWORDINLINE(0x7031, 0xA06E);
  472. extern pascal OSErr OpenSlot(ParmBlkPtr paramBlock, Boolean async);
  473.  
  474. #if !GENERATINGCFM
  475. #pragma parameter __D0 OpenSlotSync(__A0)
  476. #endif
  477. extern pascal OSErr OpenSlotSync(ParmBlkPtr paramBlock)
  478.  ONEWORDINLINE(0xA200);
  479.  
  480. #if !GENERATINGCFM
  481. #pragma parameter __D0 OpenSlotAsync(__A0)
  482. #endif
  483. extern pascal OSErr OpenSlotAsync(ParmBlkPtr paramBlock)
  484.  ONEWORDINLINE(0xA600);
  485. /*  Device Manager Slot Support  */
  486.  
  487. #if !GENERATINGCFM
  488. #pragma parameter __D0 SIntInstall(__A0, __D0)
  489. #endif
  490. extern pascal OSErr SIntInstall(SQElemPtr sIntQElemPtr, short theSlot)
  491.  ONEWORDINLINE(0xA075);
  492.  
  493. #if !GENERATINGCFM
  494. #pragma parameter __D0 SIntRemove(__A0, __D0)
  495. #endif
  496. extern pascal OSErr SIntRemove(SQElemPtr sIntQElemPtr, short theSlot)
  497.  ONEWORDINLINE(0xA076);
  498.  
  499. #if !GENERATINGCFM
  500. #pragma parameter __D0 SVersion(__A0)
  501. #endif
  502. extern pascal OSErr SVersion(SpBlockPtr spBlkPtr)
  503.  TWOWORDINLINE(0x7008, 0xA06E);
  504.  
  505. #if !GENERATINGCFM
  506. #pragma parameter __D0 SetSRsrcState(__A0)
  507. #endif
  508. extern pascal OSErr SetSRsrcState(SpBlockPtr spBlkPtr)
  509.  TWOWORDINLINE(0x7009, 0xA06E);
  510.  
  511. #if !GENERATINGCFM
  512. #pragma parameter __D0 InsertSRTRec(__A0)
  513. #endif
  514. extern pascal OSErr InsertSRTRec(SpBlockPtr spBlkPtr)
  515.  TWOWORDINLINE(0x700A, 0xA06E);
  516.  
  517. #if !GENERATINGCFM
  518. #pragma parameter __D0 SGetSRsrc(__A0)
  519. #endif
  520. extern pascal OSErr SGetSRsrc(SpBlockPtr spBlkPtr)
  521.  TWOWORDINLINE(0x700B, 0xA06E);
  522.  
  523. #if !GENERATINGCFM
  524. #pragma parameter __D0 SGetTypeSRsrc(__A0)
  525. #endif
  526. extern pascal OSErr SGetTypeSRsrc(SpBlockPtr spBlkPtr)
  527.  TWOWORDINLINE(0x700C, 0xA06E);
  528.  
  529. #if !GENERATINGCFM
  530. #pragma parameter __D0 SGetSRsrcPtr(__A0)
  531. #endif
  532. extern pascal OSErr SGetSRsrcPtr(SpBlockPtr spBlkPtr)
  533.  TWOWORDINLINE(0x701D, 0xA06E);
  534.  
  535. #if PRAGMA_IMPORT_SUPPORTED
  536. #pragma import off
  537. #endif
  538.  
  539. #if PRAGMA_ALIGN_SUPPORTED
  540. #pragma options align=reset
  541. #endif
  542.  
  543. #ifdef __cplusplus
  544. }
  545. #endif
  546.  
  547. #endif /* __SLOTS__ */
  548.